/**
 * @author MIAO
 * Created on 2011-11-13
 * For more information, please visit:ismiao.com
 */
package com.ismiao.java.Callback.example3;

/**
 * 所谓回调，即客户端Client条用了服务端Server中的方法A， 然后Server在接下来的某个时候调用了Client的方法B，
 * 这个过程就叫做回调。对于Client来说，方法B就是回调函数。 举个简单的例子，公交车上一个五岁的小孩问售票员是否已经到站，
 * 售票员并没有不厌其烦地通知小孩bus到哪里了，而是告诉他bus快到站的时候会提醒他的。 等到bus到站，售票员告诉小孩到站了，让他下车。
 * 这是一个简单的回调过程，后面售票员告诉小孩到站便是回调，并且是异步的。
 */
public class TicketSaller {
	private Child child;

	public TicketSaller(Child child) {
		this.child = child;
	}

	public void remindTheStation(String station) {
		System.out.println(getClass().getSimpleName() + ":Passengeres, the "
				+ station + " has arrived!");
		try {
			Thread.sleep(3000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		child.getOff(station);
	}
}
